\BOOKMARK [0][-]{chapter*.2}{Contents}{}% 1
\BOOKMARK [0][-]{chapter.1}{Introduction}{}% 2
\BOOKMARK [0][-]{chapter.2}{User's guide}{}% 3
\BOOKMARK [1][-]{section.2.1}{Command line arguments}{chapter.2}% 4
\BOOKMARK [1][-]{section.2.2}{Command processor}{chapter.2}% 5
\BOOKMARK [1][-]{section.2.3}{Editing}{chapter.2}% 6
\BOOKMARK [1][-]{section.2.4}{Performance}{chapter.2}% 7
\BOOKMARK [1][-]{section.2.5}{Disassembler}{chapter.2}% 8
\BOOKMARK [1][-]{section.2.6}{Module system}{chapter.2}% 9
\BOOKMARK [1][-]{section.2.7}{Library}{chapter.2}% 10
\BOOKMARK [0][-]{chapter.3}{Command processor}{}% 11
\BOOKMARK [1][-]{section.3.1}{Current focus value and \043\043}{chapter.3}% 12
\BOOKMARK [1][-]{section.3.2}{Command levels}{chapter.3}% 13
\BOOKMARK [1][-]{section.3.3}{Logistical commands}{chapter.3}% 14
\BOOKMARK [1][-]{section.3.4}{Module commands}{chapter.3}% 15
\BOOKMARK [1][-]{section.3.5}{Debugging commands}{chapter.3}% 16
\BOOKMARK [1][-]{section.3.6}{Profiling commands}{chapter.3}% 17
\BOOKMARK [2][-]{subsection.3.6.1}{How the profiler works}{section.3.6}% 18
\BOOKMARK [1][-]{section.3.7}{Settings}{chapter.3}% 19
\BOOKMARK [1][-]{section.3.8}{Inspection mode}{chapter.3}% 20
\BOOKMARK [1][-]{section.3.9}{Command programs}{chapter.3}% 21
\BOOKMARK [1][-]{section.3.10}{Building images}{chapter.3}% 22
\BOOKMARK [1][-]{section.3.11}{Resource query and control}{chapter.3}% 23
\BOOKMARK [1][-]{section.3.12}{Threads}{chapter.3}% 24
\BOOKMARK [1][-]{section.3.13}{Quite obscure}{chapter.3}% 25
\BOOKMARK [0][-]{chapter.4}{Module system}{}% 26
\BOOKMARK [1][-]{section.4.1}{Introduction}{chapter.4}% 27
\BOOKMARK [1][-]{section.4.2}{The configuration language}{chapter.4}% 28
\BOOKMARK [1][-]{section.4.3}{Interfaces}{chapter.4}% 29
\BOOKMARK [1][-]{section.4.4}{Macros}{chapter.4}% 30
\BOOKMARK [1][-]{section.4.5}{Higher-order modules}{chapter.4}% 31
\BOOKMARK [1][-]{section.4.6}{Compiling and linking}{chapter.4}% 32
\BOOKMARK [1][-]{section.4.7}{Semantics of configuration mutation}{chapter.4}% 33
\BOOKMARK [1][-]{section.4.8}{Command processor support}{chapter.4}% 34
\BOOKMARK [1][-]{section.4.9}{Configuration packages}{chapter.4}% 35
\BOOKMARK [1][-]{section.4.10}{Discussion}{chapter.4}% 36
\BOOKMARK [0][-]{chapter.5}{Libraries}{}% 37
\BOOKMARK [1][-]{section.5.1}{General utilities}{chapter.5}% 38
\BOOKMARK [1][-]{section.5.2}{Pretty-printing}{chapter.5}% 39
\BOOKMARK [1][-]{section.5.3}{Bitwise integer operations}{chapter.5}% 40
\BOOKMARK [1][-]{section.5.4}{Byte vectors}{chapter.5}% 41
\BOOKMARK [1][-]{section.5.5}{Sparse vectors}{chapter.5}% 42
\BOOKMARK [1][-]{section.5.6}{Cells}{chapter.5}% 43
\BOOKMARK [1][-]{section.5.7}{Queues}{chapter.5}% 44
\BOOKMARK [1][-]{section.5.8}{Arrays}{chapter.5}% 45
\BOOKMARK [1][-]{section.5.9}{Records}{chapter.5}% 46
\BOOKMARK [2][-]{subsection.5.9.1}{Low-level access to records}{section.5.9}% 47
\BOOKMARK [2][-]{subsection.5.9.2}{Record types}{section.5.9}% 48
\BOOKMARK [1][-]{section.5.10}{Finite record types}{chapter.5}% 49
\BOOKMARK [1][-]{section.5.11}{Sets over finite types}{chapter.5}% 50
\BOOKMARK [1][-]{section.5.12}{Hash tables}{chapter.5}% 51
\BOOKMARK [1][-]{section.5.13}{Port extensions}{chapter.5}% 52
\BOOKMARK [1][-]{section.5.14}{Fluid bindings}{chapter.5}% 53
\BOOKMARK [1][-]{section.5.15}{OS strings}{chapter.5}% 54
\BOOKMARK [1][-]{section.5.16}{Shell commands}{chapter.5}% 55
\BOOKMARK [1][-]{section.5.17}{Sockets}{chapter.5}% 56
\BOOKMARK [1][-]{section.5.18}{Profiling}{chapter.5}% 57
\BOOKMARK [1][-]{section.5.19}{Macros for writing loops}{chapter.5}% 58
\BOOKMARK [2][-]{subsection.5.19.1}{Iterate}{section.5.19}% 59
\BOOKMARK [2][-]{subsection.5.19.2}{Reduce}{section.5.19}% 60
\BOOKMARK [2][-]{subsection.5.19.3}{Sequence types}{section.5.19}% 61
\BOOKMARK [2][-]{subsection.5.19.4}{Synchronous sequences}{section.5.19}% 62
\BOOKMARK [2][-]{subsection.5.19.5}{Examples}{section.5.19}% 63
\BOOKMARK [2][-]{subsection.5.19.6}{Defining sequence types}{section.5.19}% 64
\BOOKMARK [2][-]{subsection.5.19.7}{Expanded code}{section.5.19}% 65
\BOOKMARK [1][-]{section.5.20}{Sorting lists and vectors}{chapter.5}% 66
\BOOKMARK [2][-]{subsection.5.20.1}{Design rules}{section.5.20}% 67
\BOOKMARK [2][-]{subsection.5.20.2}{Procedure specification}{section.5.20}% 68
\BOOKMARK [2][-]{subsection.5.20.3}{Algorithmic properties}{section.5.20}% 69
\BOOKMARK [1][-]{section.5.21}{Regular expressions}{chapter.5}% 70
\BOOKMARK [2][-]{subsection.5.21.1}{Character sets}{section.5.21}% 71
\BOOKMARK [2][-]{subsection.5.21.2}{Anchoring}{section.5.21}% 72
\BOOKMARK [2][-]{subsection.5.21.3}{Composite expressions}{section.5.21}% 73
\BOOKMARK [2][-]{subsection.5.21.4}{Case sensitivity}{section.5.21}% 74
\BOOKMARK [2][-]{subsection.5.21.5}{Submatches and matching}{section.5.21}% 75
\BOOKMARK [1][-]{section.5.22}{SRFIs}{chapter.5}% 76
\BOOKMARK [0][-]{chapter.6}{Unicode}{}% 77
\BOOKMARK [1][-]{section.6.1}{Characters and their codes}{chapter.6}% 78
\BOOKMARK [1][-]{section.6.2}{Character and string literals}{chapter.6}% 79
\BOOKMARK [2][-]{subsection.6.2.1}{Character literals}{section.6.2}% 80
\BOOKMARK [2][-]{subsection.6.2.2}{String literals}{section.6.2}% 81
\BOOKMARK [2][-]{subsection.6.2.3}{Identifiers and symbol literals}{section.6.2}% 82
\BOOKMARK [1][-]{section.6.3}{Character classification and case mappings}{chapter.6}% 83
\BOOKMARK [1][-]{section.6.4}{SRFI 14}{chapter.6}% 84
\BOOKMARK [1][-]{section.6.5}{R6RS}{chapter.6}% 85
\BOOKMARK [1][-]{section.6.6}{I/O}{chapter.6}% 86
\BOOKMARK [2][-]{subsection.6.6.1}{Text codecs}{section.6.6}% 87
\BOOKMARK [2][-]{subsection.6.6.2}{Text-codec utilities}{section.6.6}% 88
\BOOKMARK [2][-]{subsection.6.6.3}{Creating text codecs}{section.6.6}% 89
\BOOKMARK [1][-]{section.6.7}{Default encodings}{chapter.6}% 90
\BOOKMARK [0][-]{chapter.7}{Threads}{}% 91
\BOOKMARK [1][-]{section.7.1}{Creating and controlling threads}{chapter.7}% 92
\BOOKMARK [1][-]{section.7.2}{Advanced thread handling}{chapter.7}% 93
\BOOKMARK [1][-]{section.7.3}{Debugging multithreaded programs}{chapter.7}% 94
\BOOKMARK [1][-]{section.7.4}{Optimistic concurrency}{chapter.7}% 95
\BOOKMARK [1][-]{section.7.5}{Condition variables}{chapter.7}% 96
\BOOKMARK [1][-]{section.7.6}{Mutual exclusion}{chapter.7}% 97
\BOOKMARK [2][-]{subsection.7.6.1}{Locks}{section.7.6}% 98
\BOOKMARK [2][-]{subsection.7.6.2}{Placeholders}{section.7.6}% 99
\BOOKMARK [1][-]{section.7.7}{Writing custom synchronization abstractions}{chapter.7}% 100
\BOOKMARK [1][-]{section.7.8}{Concurrent ML abstractions}{chapter.7}% 101
\BOOKMARK [2][-]{subsection.7.8.1}{Basic rendezvous combinators}{section.7.8}% 102
\BOOKMARK [2][-]{subsection.7.8.2}{Synchronous channels}{section.7.8}% 103
\BOOKMARK [2][-]{subsection.7.8.3}{Synchronous variables}{section.7.8}% 104
\BOOKMARK [2][-]{subsection.7.8.4}{Timeouts}{section.7.8}% 105
\BOOKMARK [2][-]{subsection.7.8.5}{CML to Scheme correspondence}{section.7.8}% 106
\BOOKMARK [0][-]{chapter.8}{Mixing Scheme 48 and C}{}% 107
\BOOKMARK [1][-]{section.8.1}{Available facilities}{chapter.8}% 108
\BOOKMARK [2][-]{subsection.8.1.1}{Scheme structures}{section.8.1}% 109
\BOOKMARK [2][-]{subsection.8.1.2}{C naming conventions}{section.8.1}% 110
\BOOKMARK [2][-]{subsection.8.1.3}{Garbage collection and reference objects}{section.8.1}% 111
\BOOKMARK [1][-]{section.8.2}{Shared bindings}{chapter.8}% 112
\BOOKMARK [2][-]{subsection.8.2.1}{Exporting Scheme values to C}{section.8.2}% 113
\BOOKMARK [2][-]{subsection.8.2.2}{Exporting C values to Scheme}{section.8.2}% 114
\BOOKMARK [2][-]{subsection.8.2.3}{Complete shared binding interface}{section.8.2}% 115
\BOOKMARK [1][-]{section.8.3}{Calling C functions from Scheme}{chapter.8}% 116
\BOOKMARK [1][-]{section.8.4}{Dynamic loading}{chapter.8}% 117
\BOOKMARK [1][-]{section.8.5}{Accessing Scheme data from C}{chapter.8}% 118
\BOOKMARK [2][-]{subsection.8.5.1}{Constants}{section.8.5}% 119
\BOOKMARK [2][-]{subsection.8.5.2}{Converting values}{section.8.5}% 120
\BOOKMARK [2][-]{subsection.8.5.3}{C versions of Scheme procedures}{section.8.5}% 121
\BOOKMARK [1][-]{section.8.6}{Calling Scheme functions from C}{chapter.8}% 122
\BOOKMARK [1][-]{section.8.7}{Interacting with the Scheme heap}{chapter.8}% 123
\BOOKMARK [2][-]{subsection.8.7.1}{Registering global references}{section.8.7}% 124
\BOOKMARK [2][-]{subsection.8.7.2}{Local buffers}{section.8.7}% 125
\BOOKMARK [2][-]{subsection.8.7.3}{Special treatment for byte vectors}{section.8.7}% 126
\BOOKMARK [2][-]{subsection.8.7.4}{Memory overhead}{section.8.7}% 127
\BOOKMARK [2][-]{subsection.8.7.5}{Keeping C data structures in the Scheme heap}{section.8.7}% 128
\BOOKMARK [2][-]{subsection.8.7.6}{C code and heap images}{section.8.7}% 129
\BOOKMARK [1][-]{section.8.8}{Using Scheme records in C code}{chapter.8}% 130
\BOOKMARK [1][-]{section.8.9}{Raising exceptions from external code}{chapter.8}% 131
\BOOKMARK [1][-]{section.8.10}{External events}{chapter.8}% 132
\BOOKMARK [2][-]{subsection.8.10.1}{Collecting external events in external code}{section.8.10}% 133
\BOOKMARK [2][-]{subsection.8.10.2}{Handling external events in Scheme}{section.8.10}% 134
\BOOKMARK [1][-]{section.8.11}{Unsafe functions and macros}{chapter.8}% 135
\BOOKMARK [1][-]{section.8.12}{Converting external code to the new foreign-function interface}{chapter.8}% 136
\BOOKMARK [0][-]{chapter.9}{Access to POSIX}{}% 137
\BOOKMARK [1][-]{section.9.1}{Process primitives}{chapter.9}% 138
\BOOKMARK [2][-]{subsection.9.1.1}{Process creation and termination}{section.9.1}% 139
\BOOKMARK [2][-]{subsection.9.1.2}{Exec}{section.9.1}% 140
\BOOKMARK [1][-]{section.9.2}{Signals}{chapter.9}% 141
\BOOKMARK [2][-]{subsection.9.2.1}{POSIX signals}{section.9.2}% 142
\BOOKMARK [2][-]{subsection.9.2.2}{Other signals}{section.9.2}% 143
\BOOKMARK [2][-]{subsection.9.2.3}{Sending signals}{section.9.2}% 144
\BOOKMARK [2][-]{subsection.9.2.4}{Receiving signals}{section.9.2}% 145
\BOOKMARK [1][-]{section.9.3}{Process environment}{chapter.9}% 146
\BOOKMARK [2][-]{subsection.9.3.1}{Process identification}{section.9.3}% 147
\BOOKMARK [2][-]{subsection.9.3.2}{Environment variables}{section.9.3}% 148
\BOOKMARK [1][-]{section.9.4}{Users and groups}{chapter.9}% 149
\BOOKMARK [1][-]{section.9.5}{OS and machine identification}{chapter.9}% 150
\BOOKMARK [1][-]{section.9.6}{Files and directories}{chapter.9}% 151
\BOOKMARK [2][-]{subsection.9.6.1}{Directory streams}{section.9.6}% 152
\BOOKMARK [2][-]{subsection.9.6.2}{Working directory}{section.9.6}% 153
\BOOKMARK [2][-]{subsection.9.6.3}{File creation and removal}{section.9.6}% 154
\BOOKMARK [2][-]{subsection.9.6.4}{File information}{section.9.6}% 155
\BOOKMARK [2][-]{subsection.9.6.5}{File modes}{section.9.6}% 156
\BOOKMARK [2][-]{subsection.9.6.6}{Symbolic links}{section.9.6}% 157
\BOOKMARK [1][-]{section.9.7}{Time and Date}{chapter.9}% 158
\BOOKMARK [2][-]{subsection.9.7.1}{Time}{section.9.7}% 159
\BOOKMARK [2][-]{subsection.9.7.2}{Date}{section.9.7}% 160
\BOOKMARK [1][-]{section.9.8}{I/O}{chapter.9}% 161
\BOOKMARK [1][-]{section.9.9}{Regular expressions}{chapter.9}% 162
\BOOKMARK [1][-]{section.9.10}{Syslog facility}{chapter.9}% 163
\BOOKMARK [1][-]{section.9.11}{Error codes}{chapter.9}% 164
\BOOKMARK [2][-]{subsection.9.11.1}{POSIX errnos}{section.9.11}% 165
\BOOKMARK [1][-]{section.9.12}{C to Scheme correspondence}{chapter.9}% 166
\BOOKMARK [0][-]{chapter*.30}{Bibliography}{}% 167
\BOOKMARK [0][-]{chapter*.30}{Bibliography}{}% 168
\BOOKMARK [0][-]{chapter*.30}{Index}{}% 169
